Wireless communication systems, such as the 3rd Generation (3G) of mobile telephone standards and technology, are well known. An example of such 3G standards and technology is the Universal Mobile Telecommunications System (UMTS™), developed by the 3rd Generation Partnership Project (3GPP™) (www.3gpp.org).
The 3rd and 4th generations of wireless communications, and particular systems such as LTE (Long Term Evolution), have generally been developed to support macro-cell mobile phone communications, and more recently femto-cell mobile phone communications. Here the ‘phone’ may be a smart phone, or another mobile or portable communication unit that is linked wirelessly to a network through which calls etc. are connected. Henceforth all these devices will be referred to as mobile communication units. Calls may be data, video, or voice calls, or a combination of these. An increasing proportion of communications involve data rather than voice, and are technically referred to as being a ‘connection’, rather than a ‘call’. Nevertheless, the terms ‘connection’ and ‘call’ as used herein are to be understood as being interchangeable and each referring to data, video and/or voice calls/connections unless otherwise defined.
Typically, mobile communication units, or User Equipment as they are often referred to in 3G parlance, communicate with a Core Network of the 3G (or 4G) wireless communication system. This communication is via a Radio Network Subsystem. A wireless communication system typically comprises a plurality of Radio Network Subsystems. Each Radio Network Subsystem comprises one or more cells, to which mobile communication units may attach, and thereby connect to the network. A base station may serve a cell. Each base station may have multiple antennas, each of which serves one sector of the cell.
Operators of wireless communication systems need to know what is happening in the system, with as much precision as possible. A particular issue is the need to solve ‘faults’. Faults may take a wide variety of forms, but can be summarised as events when the network and/or one or more mobile communication units do not perform as expected.
In most conventional cellular networks, quality of service information is generally reported on a per-cell or per-sector basis. A result of this is that network statistics obtained may only provide an indication of the average data rate or average number of dropped calls, for example, in a given sector or cell. It is not usually possible to obtain network statistics from such conventional quality of service information for a particular portion of a sector or cell that may suffer from poor data rates or dropped calls due, in part, to these particular sectors or cells having poor coverage.
It is known to utilise and compare, in real time, the signatures of mobile communication units to determine location information. These systems are typically located at, for example, switching centres where raw communication session data is stored. Modern wireless communication systems allow a high degree of autonomy to individual mobile communication units and to base stations. As a consequence, decisions about setting up and ‘tearing down’ call links throughout the network are not all made centrally. As a result, a complication arises from the volume of raw communication session data generated within the wireless communication system. In one day, a wireless communication system may generate 100 gigabytes of data about calls that have been made in the network.
One constraint in particular is the processing requirements for processing the large volumes of raw data in order to obtain meaningful information. With conventional systems, which are typically located at, for example, switching centres where raw communication session data is stored, significant processing resources are required to be provided at each such location (e.g. at each switching centre) for processing the ‘local’ data stored at the respective location.
Such a distribution of processing resources across multiple locations within a network, with the processing resources at each location being dedicated to the processing of local data, is an inefficient use of such processing resources since often the processing resources at many of the locations may not be fully utilised. Furthermore, if the processing requirements at a particular location are increased, for example due to an increase in network capacity corresponding to that location, the processing capacity at that location may be exceeded even if only by a small amount. As a result, additional processing hardware may need to be sourced. Such a small additional processing requirement could require replacement or additional sets of processing cards, racks or storage to be implemented. In this case, a relatively large capital outlay may be required by the network operator to provide for a relatively small increase in required processing capacity at a single site. Furthermore, such an increase in required processing capacity may only be needed for a small proportion of the time, for example for short durations each, say, day or week at ‘peak’ times on a network. As a result, such localised processing of data does not scale well and requires significant localised upfront hardware costs which may only be necessary to satisfy a small increase in capacity occurring for a small proportion of the time each day/week.
A conventional approach to improve efficiency in mass processing systems is to provide the data to be processed to one or more centralised or shared processing resources. For example, data from distributed sites (e.g. the switching centres of a wireless communication system) may be provided to centralised processing resources or to one or more shared (e.g. cloud) processing resources. In this manner, more efficient processing of data from multiple distributed sites may be performed.
An important requirement for the Applicant's data processing system is that users are able to access analytical data in near real time. For example, analytical data relating to an event is available to users within a relatively short period of time, for example within, say, a period of minutes of the data being made available from the radio network controller (RNC), in a 3G (or 4G) wireless communication system. It is worth noting that in a conventional 3G/4G wireless communication system, data relating to recent calls is made available by RNCs in batches, for example comprising 15 minutes worth of call data. As such, data may be made available by an RNC approximately every 15 minutes, with a potential 15 minute latency for some of the call data between the respective event and the data being made available by the RNC. Because of this inherent 15 minute latency between an event occurring and the data being made available by the RNC, it is even more important to minimise any further delay between the data being made available by the RNC and the data being available to users.
This is in contrast to conventional data processing systems which perform ‘batch processing’ whereby communication session data is processed off-line, and there is a delay of many hours typically between an event of interest taking place and the resulting analytical data being available to users.
In order to enable such near real time access of analytical data, the large volume of raw communication session data continuously being generated within the wireless communication network must be processed substantially as it is made available from the RNCs (or as soon as possible afterwards). A problem with the conventional use of centralised processing and/or shared processing is that such a large volume of communication session data would require a very high speed (and very expensive) communications link in order to transport the data from each of the distributed sites to one or more ‘backend’ data-centres for processing, which will typically be located hundreds or thousands of miles away and may even be on a different continent. The requirement for such an expensive communications link between each of the distributed sites and one or more backend data centres makes the conventional use of centralised processing and/or shared processing prohibitively expensive, and is a particular problem when using dynamic allocation processing systems such as cloud processing systems that typically comprise generic (often shared) processing systems which autonomously allocate resources (both the geographic location of the resources and the timing of their usage) using a process which may not be under the control of the data provider or the ultimate user. As such, the communication of data to such cloud processing systems is required to be more flexible and adaptive, further increasing the potential costs of such communication links.